package com.okyai.kt.domain;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.okyai.common.annotation.Excel;
import com.okyai.common.core.domain.BaseEntity;

/**
 * 课题项目对象 kt_topic_item
 * 
 * @author okyai
 * @date 2021-03-20
 */
public class TopicItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目主键 */
    private Long topicItemId;

    /** 父级项目 */
    @Excel(name = "父级项目")
    private Long parentId;

    /** 课题主键 */
    @Excel(name = "课题主键")
    private Long topicId;

    /** 项目排序 */
    @Excel(name = "项目排序")
    private Long itemSort;

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String itemType;

    /** 项目类型主键 */
    @Excel(name = "项目类型主键")
    private Long itemTypeId;

    /** 项目类型名称 */
    @Excel(name = "项目类型名称")
    private String itemTypeName;

    /** 触发事件条件[无事件/必定触发/大于/小于/等于] */
    @Excel(name = "触发事件条件[无事件/必定触发/大于/小于/等于]")
    private String eventCondition;

    /** 触发事件值 */
    @Excel(name = "触发事件值")
    private Long eventValue;

    /** 触发事件类型 */
    @Excel(name = "触发事件类型")
    private String eventType;
    
    private List<RecordDetail> detailList = new ArrayList<>();
    
    public void setTopicItemId(Long topicItemId) 
    {
        this.topicItemId = topicItemId;
    }

    public Long getTopicItemId() 
    {
        return topicItemId;
    }
    public void setParentId(Long parentId) 
    {
        this.parentId = parentId;
    }

    public Long getParentId() 
    {
        return parentId;
    }
    public void setTopicId(Long topicId) 
    {
        this.topicId = topicId;
    }

    public Long getTopicId() 
    {
        return topicId;
    }
    public void setItemSort(Long itemSort) 
    {
        this.itemSort = itemSort;
    }

    public Long getItemSort() 
    {
        return itemSort;
    }
    public void setItemType(String itemType) 
    {
        this.itemType = itemType;
    }

    public String getItemType() 
    {
        return itemType;
    }
    public void setItemTypeId(Long itemTypeId) 
    {
        this.itemTypeId = itemTypeId;
    }

    public Long getItemTypeId() 
    {
        return itemTypeId;
    }
    public void setItemTypeName(String itemTypeName) 
    {
        this.itemTypeName = itemTypeName;
    }

    public String getItemTypeName() 
    {
        return itemTypeName;
    }
    public void setEventCondition(String eventCondition) 
    {
        this.eventCondition = eventCondition;
    }

    public String getEventCondition() 
    {
        return eventCondition;
    }
    public void setEventValue(Long eventValue) 
    {
        this.eventValue = eventValue;
    }

    public Long getEventValue() 
    {
        return eventValue;
    }
    public void setEventType(String eventType) 
    {
        this.eventType = eventType;
    }

    public String getEventType() 
    {
        return eventType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("topicItemId", getTopicItemId())
            .append("parentId", getParentId())
            .append("topicId", getTopicId())
            .append("itemSort", getItemSort())
            .append("itemType", getItemType())
            .append("itemTypeId", getItemTypeId())
            .append("itemTypeName", getItemTypeName())
            .append("eventCondition", getEventCondition())
            .append("eventValue", getEventValue())
            .append("eventType", getEventType())
            .toString();
    }

	public List<RecordDetail> getDetailList() {
		return detailList;
	}

	public void setDetailList(List<RecordDetail> detailList) {
		this.detailList = detailList;
	}
    
}
